home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Belgian Amiga Club - ADF Collection
/
BS1 part 34.zip
/
BS1 part 34
/
GFA basic training.adf
/
Requester
/
ZäHLBOX.LST
< prev
Wrap
File List
|
1989-06-01
|
3KB
|
102 lines
@zÄhl_box(260,65,"Überschrift",0,0,0,1000,10,wert%)
PROCEDURE zÄhl_box(x%,y|,u$,g_x%,g_y|,mi%,ma%,step%,VAR wert%)
LOCAL zahl_l|,u_breite%,b_breite%,b_hÖhe%,box_mitte&,hintergrund$
LOCAL xl1%,xl2%,xr1%,xr2%,yl1|,yl2|,yr1|,yr2|,zahl_y|,abbruch!,ende!
'
zahl_l|=LEN(STR$(ma%))*8+10
u_breite%=LEN(u$)*8
b_breite%=MAX(u_breite%+10,120,zahl_l|+90)
b_hÖhe%=(12+10)+g_y|+15+(12+20)
box_mitte&=x%+b_breite%/2
'
COLOR 0
GET x%,y|,x%+b_breite%+6,y|+b_hÖhe%+4,hintergrund$
PBOX x%,y|,x%+b_breite%+6,y|+b_hÖhe%+4
'
COLOR 1
BOX x%,y|,x%+b_breite%+6,y|+b_hÖhe%+4
BOX x%+3,y|+2,x%+b_breite%+3,y|+b_hÖhe%+2
ADD x%,3
ADD y|,2
'
BOX box_mitte&-u_breite%/2-2,y|+5,x%+b_breite%/2+u_breite%/2+2,y|+17
TEXT box_mitte&-u_breite%/2,y|+14,u$
'
IF g_x%>0
PUT box_mitte&-g_x%/2,y|+22,grafik$
ENDIF
'
xl1%=x%+10
xl2%=x%+73
yl1|=y|+b_hÖhe%-18
yl2|=y|+b_hÖhe%-6
xr1%=x%+b_breite%-36
xr2%=x%+b_breite%-10
yr1|=y|+b_hÖhe%-18
yr2|=y|+b_hÖhe%-6
'
BOX xl1%,yl1|,xl2%,yl2|
BOX xr1%,yr1|,xr2%,yr2|
TEXT xl1%+4,yl2|-3,"Abbruch"
TEXT xr1%+4,yl2|-3,"OK"
'
zahl_y|=y|+22+g_y|+10
BOX box_mitte&-zahl_l|/2,zahl_y|,box_mitte&+zahl_l|/2,zahl_y|+12
'
ini_x&=box_mitte&+zahl_l|/2+10
ina_x&=ini_x&+25
count_o|=zahl_y|
count_u|=count_o|+12
TEXT ini_x&+3,count_u|-3,"+"
LINE ini_x&,count_o|,ini_x&,count_u|
DRAW TO ina_x&,count_o|+6
DRAW TO ini_x&,count_o|
'
dei_x&=box_mitte&-zahl_l|/2-10
dea_x&=dei_x&-25
TEXT dei_x&-9,count_u|-3,"-"
LINE dei_x&,count_o|,dei_x&,count_u|
DRAW TO dea_x&,count_o|+6
DRAW TO dei_x&,count_o|
'
ADD zahl_y|,9
zahl_l|=LEN(STR$(wert%))*8
TEXT box_mitte&-zahl_l|/2,zahl_y|,wert%
'
REPEAT
IF MOUSEK=1
IF MOUSEY>yl1| AND MOUSEY<yl2|
IF MOUSEX>xl1% AND MOUSEX<xl2%
abbruch!=TRUE
ende!=TRUE !Abbruch
ELSE IF MOUSEX>xr1% AND MOUSEX<xr2%
ende!=TRUE !OK
ENDIF
ELSE IF MOUSEY>count_o| AND MOUSEY<count_u| AND NOT bremse!
IF MOUSEX>ini_x& AND MOUSEX<ina_x& AND wert%<=ma%-step%
ADD wert%,step%
bremse!=1
verÄnderung!=TRUE
ELSE IF MOUSEX>dea_x& AND MOUSEX<dei_x& AND wert%>=mi%+step%
SUB wert%,step%
bremse!=1
verÄnderung!=TRUE
ENDIF
ENDIF
ELSE IF MOUSEK=0
bremse!=0
ENDIF
'
IF verÄnderung!
verÄnderung!=FALSE
COLOR 0
PBOX SUCC(box_mitte&-zahl_l|/2),zahl_y|-8,PRED(box_mitte&+zahl_l|/2),zahl_y|+2
COLOR 1
zahl_l|=LEN(STR$(wert%))*8
TEXT box_mitte&-zahl_l|/2,zahl_y|,wert%
ENDIF
UNTIL ende!=TRUE
PUT x%-3,y|-2,hintergrund$
hintergrund$=""
RETURN